import { notFound } from "next/navigation"; import { SiteHeader } from "@/components/site-header"; import { SiteFooter } from "@/components/site-footer"; import { siteSetting } from "@/lib/papers/queries"; import { t, type Locale } from "@/lib/i18n"; export function generateStaticParams() { return [{ locale: "en" }, { locale: "fr" }]; } export default async function PublicLayout({ children, params }: { children: React.ReactNode; params: Promise<{ locale: string }> }) { const { locale: raw } = await params; if (raw !== "en" && raw !== "fr") notFound(); const locale = raw as Locale; const d = t(locale); const [attribution, institution] = await Promise.all([siteSetting<{ en: string; fr: string }>("site.attribution"), siteSetting<{ name_en: string; name_fr: string; department_en?: string; department_fr?: string; url?: string }>("site.institution")]); return ( <> {d.nav.skip}
{children}
); }